﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections.Generic;

namespace CeA.Reports.Atendimento.Web.Helpers {
    public class DatalistHelper {
        /// <summary>
        /// Localiza um determinado tipo control na coleção de items de uma DataList.
        /// </summary>
        /// <typeparam name="T">Tipo do controle a ser localizado.</typeparam>
        /// <param name="dataList">DataList alvo para a busca</param>
        /// <param name="id">Id do controle a ser localizado</param>
        /// <returns>Uma lista das instâncias do determinado controle.</returns>
        public static List<T> FindControl<T>(DataList dataList, string id) {
            List<T> lista = new List<T>();
            foreach (Control ctl in dataList.Items) {
                Control c = ctl.FindControl(id);
                if (c is T) {
                    lista.Add((T)(object)c);
                    //return (T)(object)c ;
                }
            }
            return lista;
        }  
    }
}
